The present invention pertains to a method and apparatus for improving video processing in a computer system or the like. More particularly, the present invention pertains to a method and apparatus for combining video throughput enhancement features into a single computer architecture.
Computer systems are increasingly being used for the capture and display of video images (e.g., in video phone/conferencing applications). An example of a bus architecture for a laptop computer system is shown in FIG. 1. A processor 1 (e.g., a PENTIUM(copyright) processor manufactured by Intel Corporation, Santa Clara, Calif.) is coupled to a bus 12. Bus 12 allows communication between processor 11 and a plurality of other components such as graphics subsystem 13 which in turn is coupled to a display 14 (e.g., an active matrix display). Also coupled to bus 12 is a PCMCIA (Personal Computer Memory Card International Association, Release 2.0, September 1991) bridge circuit 15. PCMCIA bridge circuit 15 is coupled to a number of insertable/removable peripheral components via ports 16a, 16b. 
For video applications, a video capture card 17 can be coupled to PCMCIA bridge circuit 15 via port 16a, for example. With the video capture device, a camera 18, for example, generates a video input signal and the video capture device generates video image data. In its raw, uncompressed form, the video image data is typically presented as 30 xe2x80x9cframesxe2x80x9d per second by video capture card 17. In actuality, each frame comprises odd and even xe2x80x9cfields,xe2x80x9d where an odd field represents odd numbered scan lines for the display 14 and the even field represents even numbered scan lines for display 14. In typical video capture devices for computer applications, one of the fields (e.g., the odd field) is not used and is discarded by video capture card 17.
Bus 12 will have certain bandwidth restrictions, as well. A video output that comprises 320 picture elements (xe2x80x9cpixelsxe2x80x9d) by 240 pixels for 30 fields per second where each pixel is represented by a two byte value (i.e., 16 bits) requires a bandwidth of 36.884 million bits per second on the bus. To reduce the impact on bandwidth for the bus, video capture card 17 could compress the video image data prior to placing it on the bus. An example of such a product is the CaptureVision PCMCIA card (Nogatech, Inc., Cupertino, Calif.). This PCMCIA card includes a digital signal processor (DSP) which compresses the video image data using any of a variety of compression techniques (e.g., MPEG-I and MPEG-II, International Organization for Standardization/International Electrotechnical Commission (ISO/IEC) 11172-2 and 13818-2). This PCMCIA card, which could be inserted in slot 16a, compresses the video image data from camera 18 and sends the data to processor 11. Processor 11 then acts on the compressed data to decompress this data and transfer it to the graphics subsystem 13 over bus 12 which then outputs the video image to the user at display 14. In a video phone application, processor 11 will also act to convert the same video image data into a form for transfer over a network 20 (e.g., a telephone system such as plane old telephone systemxe2x80x94POTS) to another user (e.g.,xe2x80x9cUser Bxe2x80x9d 21) via a modulator/demodulator (modem) 19. Processor 11 also acts to convert the video image data from User B 21 over network 20 into a form for display by graphics subsystem 13. A typical network protocol for transmitting such information over network 20 is the H.261 (International Telecommunication Unionxe2x80x94Telecommunications Standardization Sector (ITU-T), March, 1993) standard and the H.263 (ITU-T, Dec. 5, 1995) standard. Processor 11 works on this information to convert it once again into a form that can be transferred over bus 12 to graphics subsystem 13 and to the display 14.
There are two basic drawbacks to PCMCIA cards of this type. The first drawback is that these cards are expensive, in part because of the digital signal processor component. The second drawback is that the operation of the DSP works to slow down the overall system because of the time that is needed to compress data.
One system to increase throughput of video image data is an extension to the PCMCIA standard that provides a so-called Zoom Video port connection. Referring to FIG. 2, a standard Zoom Video system is shown. Again, a processor 31 is coupled to a bus 33 to which is coupled a graphics controller 34 (e.g., a 65554 or 65555 graphics controller from Chips and Technology, Inc.) and the rest of a graphics subsystem 35. In this example, bus 33 operates according to the Peripheral Component Interconnect (PCI) standard (Rev. 2.1, PCI Special Interest Group, Hillsboro, Oreg., 1995). A video capture card 39 is coupled to a PCMCIA interface, which in turn is coupled to the PCI bus. If the video capture card 39 operates according to the Zoom Video extension, a Zoom Video Bus/port 37 is provided that is coupled between video capture card 39 and the graphics controller chip of the graphics subsystem. The execution of a software driver (e.g., stored in memory 41) operates as an interface between processor 31 and the PCMCIA bridge 43 as well as graphics controller 34. Using the software driver, the PCMCIA bridge can receive a command causing it to be placed in a so-called tri-state mode of operation, and video image data output by video capture card 39 (from camera 40) are not processed by PCMCIA bridge 43 (i.e., not placed onto the PCI bus 33). Instead, the Zoom Video Bus/Port 37 ID carries the video data signals from video capture card 37 directly to graphics controller 34 and on to the graphics subsystem 35 to display 36. Though the Zoom Video system can handle 30 frames per second (60 fields per second) in video data, such a system is not effective for processor 31 which does not see the information that is being sent over the Zoom Video bus/port 37. This is do, in part, to the fact that graphics controller 34 tends to be a one-way device (i.e., data generally flows from the PCI bus 33 and Zoom Video bus/port 37 to the graphics subsystem 35 rather than vice versa).
As described above, the Zoom Video bus/port bypasses the PCI bus since no data is sent on the bus and instead passes as a xe2x80x9cside bandxe2x80x9d signal. To increase the amount of data that can be transmitted to/from peripheral devices (such as a video capture card), the Cardbus interface standard was developed (now part of the PC Card interface; March 1997 release from PCMCIA). An example of a video-conferencing system that uses the Cardbus system is shown in FIG. 3. Processor 51 once again is coupled to bus 55 operating according to the PCI standard. The bus is further coupled to a modem 57, a graphics subsystem 58 which includes a graphics controller 59, and a PC Card bridge 60. An example of a PC card bridge would be the PCI 1130 bridge from Texas Instruments, Inc. (Dallas, Tex.). PC card bridge 60 serves as an interface to the PCI bus 55 for peripheral components coupled to slots 61a and 61b. PC Card bridge 60 serves as a PCMCIA interface (a 16-bit interface such as component 43 in FIG. 2) and also as a Cardbus interface (a 32-bit interface) depending on the type of component inserted into slots 61a and 61b. A video capture device 63 operating according to the Cardbus interface can be inserted into slot 61a. An example of such a device is the Noteworthy Cardbus video capture card from Toshiba America Information Systems, Inc. In operation, the Noteworthy Cardbus video capture card converts video input signals from camera 65 into video image data that are passed through PC Card bridge 60, using the Cardbus standard, and onto PCI bus 55. As in the other systems described above, only one of the fields (odd or even) is sent while the other is typically discarded. Processor 51 then acts to compress these video data signals as described above and send the appropriate image to modem 57 for transmission to a second User (e.g., User B 67 coupled to network 66). Processor 51 then may also take the video data signals and convert them into a form for display. Processor 51 then sends these converted video data signals over PCI bus 55 to graphics subsystem 58 for display to the user (e.g., at display 68). Two additional accesses to PCI bus 55 would be necessary in a video conferencing application. Compressed video data from User B 67 received at modem 57) is decompressed by processor 51 after it is received over bus 55 and then the decompressed data is sent to graphics subsystem 58 after it is decompressed by processor 51.
Using the Noteworthy Cardbus video capture card in a video-conferencing application, five separate bus transactions are necessary to handle the transmission and receipt of video image data. Though PCI bus 55 can handle 132 Megabits/sec data throughput, other accesses to the bus may be necessary which could eventually prevent 30 frames per second video at the User A display. There is a need for improving bus utilization in a video processing application. There is also a need for providing 30 frames per second video processing applications. Without such data throughput speed, video images tend to look choppy in that a user can detect changes between video frames that are otherwise undetectable in a 30 frames per second environment.
The method and apparatus of the present invention provide improved video processing. According to an embodiment of the present invention, the video processing system comprises a video subsystem adapted to be coupled to a bus and a graphics subsystem. The video subsystem is adapted to generate first and second fields of video data. The video subsystem is adapted to transmit the first field of video data to the graphics subsystem via a port connection and the second field of video data to the bus.